/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.flowumi.controladores.admin;

import com.flowumi.facade.AdminFacade;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import org.apache.log4j.Logger;

/**
 *
 * @author ideacentre
 */
@ManagedBean
@RequestScoped
public class AdminAgregarCursoBean {

    private static final Logger LOGGER =
            Logger.getLogger(AdminAgregarCursoBean.class);
    @EJB
    AdminFacade adminFacade;
    private String nombreCurso;
    private Date fechaInicio;
    private Date fechaFinal;
    private String descripcion;
    private String idProfesor;

    /**
     * Creates a new instance of AdminAgregarCursoBean
     */
    public AdminAgregarCursoBean() {
    }

    @PostConstruct
    public void init() {
        fechaInicio = new Date();
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(fechaInicio.getTime());
        c.add(Calendar.MONTH, 1);
        fechaFinal = c.getTime();
    }

    public String getNombreCurso() {
        return nombreCurso;
    }

    public void setNombreCurso(String nombreCurso) {
        this.nombreCurso = nombreCurso;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public Date getFechaFinal() {
        return fechaFinal;
    }

    public void setFechaFinal(Date fechaFinal) {
        this.fechaFinal = fechaFinal;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getIdProfesor() {
        return idProfesor;
    }

    public void setIdProfesor(String idProfesor) {
        this.idProfesor = idProfesor;
    }

    public String AgregarCurso() {
        adminFacade.AgregarCurso(nombreCurso, fechaInicio, fechaFinal, descripcion, idProfesor);
        return "CursoAgregado";
    }
    
    public Date getFechaMesDespuesFechaInicial() {
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(fechaInicio.getTime());
        c.add(Calendar.MONTH, 1);
        return c.getTime();
    }

    public void handleDateSelect() {
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(fechaInicio.getTime());
        c.add(Calendar.MONTH, 1);
        if (fechaFinal.before(c.getTime())) {
            fechaFinal = c.getTime();
        }
    }
    
    public Date getFechaActual() {
        return new Date();
    }
}
